
.oban-button-reset() {
  cursor: pointer;
  display: inline-block;
  border: 0;
  background: transparent;
  outline: 0;
  padding: 0;
  text-decoration: none;
  &:hover {
    text-decoration: none;
  }
}

.oban-button-normalize() {
  .oban-button-reset();
  font-size: 14px;
  line-height: 20px;
  padding: 4px 12px;
  text-align: center;
}

.oban-button-flat(@bgColor: #34AADC, @textColor: contrast(@bgColor), @hoverBgColor: darken(@bgColor, 20), @hoverTextColor: contrast(@hoverBgColor)) {

  .oban-button-normalize();

  background-color: @bgColor;
  color: @textColor;
  border: 1px solid @bgColor;
  border-radius: 5px;

  &.hover,
  &:hover {
    color: @hoverTextColor;
    background-color: @hoverBgColor;
    border: 1px solid @hoverBgColor;
  }

  &.active,
  &:active {
    background-color: @hoverBgColor;
    border: 1px solid @hoverBgColor;
    outline: 0;
    box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  }

}

.oban-button-gradient(@bgColor: #fff, @textColor: contrast(@bgColor), @hoverBgColor: darken(@bgColor, 20), @hoverTextColor: contrast(@hoverBgColor)) {

  .oban-button-normalize();

  color: @textColor;

  .oban-gradient(@bgColor, darken(@bgColor, 20));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  border: 1px solid darken(@bgColor, 20);
  border-radius: 5px;

  &.hover,
  &:hover {
    background: darken(@bgColor, 10);
  }

  &.active,
  &:active {
    background-image: none;
    outline: 0;
    box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  }
}
